System and method for tracing and/or evaluating the exchange of information

ABSTRACT

The invention relates to a system and a method for tracing and evaluating the communication of software applications, especially MES applications in an entire system. The tracing and evaluation can be carried out progressively or step-by-step on a project level, an adapter level and a port level, i.e. individual communication connections and individual applications, but the entire project is also traced by (even heterogeneous) application environments. The tracing and evaluation mechanisms enable higher-level services to access online the archived trace and error data at all times. An example of one such service is the generation of a report in the pharmaceutical field, indicating the materials used and sent in production orders.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is the US National Stage of International ApplicationNo. PCT/DE02/04382, filed Nov. 28, 2002 and claims the benefit thereof.The International Application claims the benefits of German applicationNo. 10161140.4 filed Dec. 12, 2001, both of the applications areincorporated by reference herein in their entirety.

FIELD OF INVENTION

The invention relates to a system and method for tracing and/orevaluating the exchange of information between heterogeneous softwareapplications in particular, in particular MES applications, in asoftware system linking the software applications, whereby the softwareapplications and the software system are stored on at least one computerunit.

The invention also relates to a corresponding computer program, acomputer program product and a data processing device.

BACKGROUND OF INVENTION

From “Software für die Automatisierung—Transparenz über die Abläufeschaffen” (Software for automation—Creating process transparency), anarticle by Dirk Kozian in Elektronik für Automatisierung (AutomationElectronics) 11, 17, 11, 1999, it is known that what are known asManufacturing Execution Systems (MES) can be used to automate productionand manufacturing processes. These systems integrate the automationlevel or controls with the corporate-level ERP systems (ERP: EnterpriseResource Planning). Manufacturing Execution Systems are systems, whichfor example supply information for optimizing production processes. Onthe one hand the Manufacturing Execution Systems have to extend thegeneral planning data of the ERP systems to include unit-specific andup-to-date detailed planning data and forward this correspondingly tothe lower-level automation level and on the other hand they have thetask of extracting production-relevant information from the automationlevel, processing this and forwarding it to the corporate level. MESsystems thereby perform the role of vertical integration betweencorporate level and automation level. Typical individual tasks of MESsystems are Enterprise Asset Management, Maintenance Management,Information Management, Scheduling, Dispatching and Trace & Track. Thesetasks are executed by MES components and MES applications respectively.

The heterogeneity of the MES applications in respect of software anddata technology means that these are however very difficult to integrateinto a shared system or project and the exchange of data between saidapplications cannot be easily achieved.

From “Massive Wiederverwendung: Konzepte, Techniken und Organisation”(Mass recycling: concepts, methods and organization), an article byUlrich Lindner in OBJEKTspektrum 1/96, pages 10-17, it is known thatsoftware components can be integrated into a software system by means ofwhat are known as adapters or by wrapping. The objective here is toincrease the recyclability of software components.

In complex systems, such as MES systems, it is very difficult to traceand verify the exchange of information between the components involved.

In U.S. Pat. No. 6,083,281 a method is described for tracing theactivities of entities in software systems. However this method relatesto the mode of operation of the entities and not the exchange of databetween the entities. This method is intended to be of assistance tosoftware developers in the development and test phases.

Also an event-log mechanism and an event display are known from theMicrosoft Windows NT operating system.

SUMMARY OF INVENTION

The object of the present invention is to provide a system and a methodfor tracing, evaluating and logging the communication of softwarecomponents, in particular in MES systems.

According to the invention the abovementioned object for a system isachieved by means of the features of claim 1. One important advantage ofthe invention is the simple and automatic verification of the exchangeof data. It can be ascertained whether specified information hasactually been exchanged. In other words it can be verified whetherinformation has actually been sent by a sender and has reached therecipient. Also transmission errors or bottlenecks that occur can beidentified and analyzed very easily. Optimization options for theunderlying software system or project can thereby be derived. A furtheradvantage is that mandatory records for the authorities e.g. FDA canvery easily be kept (e.g. by means of generated reports).

In a first advantageous embodiment of the present invention for asystem, the results of the analysis of the exchange of informationand/or the error analysis can be further processed directly by thesoftware system. The results of the analysis and the derived conclusions(e.g. optimization options) can be taken into account directly in thesoftware system (e.g. modified component configuration, dimensioning orarrangement of communication connections). This results in aquasi-closed self-regulating control loop.

In a further advantageous embodiment of the present invention for asystem, specific information and/or errors can be selected by creating afilter. Users can thereby access information in a targeted manner veryeasily. Possible filters are for example, sender, recipient, timeperiod, message IDs. The filters can be defined for example by means ofinput masks and input tools (keyboard, mouse, etc.). The user then hasthe option of procuring information in a progressive and dedicatedmanner.

In a further advantageous embodiment of the present invention for asystem, tracing and/or evaluation is carried out at project level or atadapter level or at the level of an information channel. This allowsprogressive information procurement and evaluation at differentabstraction levels (project level, adapter level, port level).

In a further advantageous embodiment of the present invention for asystem, adapters and/or wrappers are deployed as the link mechanisms.Adapter and wrapper technologies are known mechanisms in informationtechnology for integrating software components into a system. A wrappermaps the API (Application Programmable Interface) of an externalcomponent (e.g. a MES application of a third-party provider) onto theobject model of the framework program. Thus for example a frameworkprogram method is obtained from a method of the API of the externalcomponent or an integer data type of the framework program is obtainedfrom an integer data type of the API of the external component, etc. ForCOM (Component Object Model) objects, creation of a wrapper for acomponent to be integrated can be automated. A wrapper corresponds to abridge. Wrappers can be produced very quickly.

Adapters are one abstraction level higher than wrappers. They provide auniform view of linked applications. An adapter offers the functionalityto start, control, etc. the component to be linked. In the language ofdesign patterns an adapter corresponds to a facade.

In a further advantageous embodiment of the present invention for asystem, the first and second devices are supplied by one device or thefirst, second and fourth devices are supplied by one device or the firstand fourth devices are supplied by one device or the second and fourthdevices are supplied by one device. This allows a compact structure thatminimizes resources (e.g. less storage capacity required).

In a further advantageous embodiment of the present invention for asystem, the third device is integrated into one of the other devices.This also allows a compact structure that minimizes resources (e.g. lessstorage capacity required). Also the time required to access databasecontent can be optimized as a result.

According to the invention the abovementioned object for a method isachieved by means of the features of claim 8. One important advantage ofthe invention is the simple and automatic verification of the dataexchange. It can be ascertained whether specified information hasactually been exchanged. In other words it can be ascertained whetherinformation has actually been sent by a sender and has reached therecipient. Also transmission errors or bottlenecks that occur can beidentified and analyzed very easily. Optimization options for theunderlying software system or project can thereby be derived. A furtheradvantage is that mandatory records for the authorities e.g. FDA canvery easily be kept (e.g. by means of generated reports).

In a first advantageous embodiment of the present invention for amethod, the results of the analysis of the exchange of informationand/or the error analysis can be further processed directly by thesoftware system. The results of the analysis and the derived conclusions(e.g. optimization options) can be taken into account directly in thesoftware system (e.g. modified component configuration, dimensioning orarrangement of communication connections). This results in aquasi-closed self-regulating control loop.

In a further advantageous embodiment of the present invention for amethod, specific information and/or errors can be selected by creating afilter. Users can thereby access information in a targeted manner veryeasily. Possible filters are for example, sender, recipient, timeperiod, message IDs. The filters can be defined for example by means ofinput masks and input tools (keyboard, mouse, etc.). The user then hasthe option of procuring information in a progressive and dedicatedmanner.

In a further advantageous embodiment of the present invention for amethod, tracing and/or evaluation is carried out at project level or atadapter level or at the level of an information channel. This allowsprogressive information procurement and evaluation at differentabstraction levels (project level, adapter level, port level).

In a further advantageous embodiment of the present invention for amethod, adapters and/or wrappers are deployed as the link mechanisms.Adapter and wrapper technologies are known mechanisms in informationtechnology for integrating software components into a system. A wrappermaps the API (Application Programmable Interface) of an externalcomponent (e.g. a MES application of a third-party provider) onto theobject model of the framework program. Thus for example a frameworkprogram method is obtained from a method of the API of the externalcomponent or an integer data type of the framework program is obtainedfrom an integer data type of the API of the external component, etc. ForCOM (Component Object Model) objects, creation of a wrapper for acomponent to be integrated can be automated. A wrapper corresponds to abridge. Wrappers can be produced very quickly.

Adapters are one abstraction level higher than wrappers. They provide auniform view of linked applications. An adapter offers the functionalityto start, control, etc. the component to be linked. In the language ofdesign patterns an adapter corresponds to a facade.

In a further advantageous embodiment of the present invention for amethod, the first and second devices are supplied by one device or thefirst, second and fourth devices are supplied by one device or the firstand fourth devices are supplied by one device or the second and fourthdevices are supplied by one device. This allows a compact structure thatminimizes resources (e.g. less storage capacity required).

In a further advantageous embodiment of the present invention for amethod, the third device is integrated into one of the other devices.This also allows a compact structure that minimizes resources (e.g. lessstorage capacity required). Also the time required to access databasecontent can be optimized as a result.

In a further advantageous embodiment of the present invention theinventive method is implemented by a computer program. This allows anymodifications or amendments to be effected easily.

In a further advantageous embodiment of the present invention thecomputer program for the inventive method is stored on a data medium.This means that the method is easy to manage in respect of logistics anddistribution.

In a further advantageous embodiment of the present invention, thecomputer program for the inventive method is installed on a dataprocessing device. This enhances its performance.

BRIEF DESCRIPTION OF THE DRAWINGS

Further advantages and details of the invention will emerge from thedescription which follows of advantageous exemplary embodiments and inconjunction with the figures. Elements with the same functionalitydescribed in different figures are shown with the same referencecharacters.

FIG. 1 shows an overview of the “corporate pyramid” with three controllevels,

FIG. 2 shows an exemplary overview with software and hardware units forMES solutions,

FIG. 3 shows the central position of the framework program linking thesoftware applications,

FIG. 4 shows the principles of the structure of an adapter,

FIG. 5 shows a plurality of switched adapters,

FIG. 6 shows a functional representation of the principles of theinvention,

FIG. 7 shows a diagram of project entities,

FIG. 8 shows a sequence chart: initialization,

FIG. 9 shows a sequence chart: operation,

FIG. 10 shows a sequence chart: evaluation mode,

FIG. 11 shows a component as the meta-object model in UML notation,

FIG. 12 shows a communication relation between MES applications and

FIG. 13 shows the object structure of a connection in UML.

DETAILED DESCRIPTION OF INVENTION

The representation according to FIG. 1 shows an overview of the threecontrol levels, as generally found in a production or manufacturingcompany. The pyramid form shows that information is compressed upwards.The top level is the ERP (Enterprise Resource Planning) level. Thebusiness administration and sales tasks are generally carried out atthis corporate level in a company (e.g. finance, sales, human resources,reporting). However logistics tasks relating to all the production units(e.g. order and materials management) are also carried out at thislevel. The SAP R/3 system is an ERP system that is very frequently usedat corporate level.

The lowest level of the pyramid is automation level (controls). Storedprogram controls (SPS) are generally deployed at this level inconjunction with visualization and process control systems (PLS). Thedrive units, actuators and sensors of the production and/ormanufacturing devices are directly connected to the systems of thislevel.

The connecting element between ERP level and automation level is formedby MES level. MES level applications thereby ensure vertical integrationbetween ERP level and automation level. On the one hand MES applicationshave to extend the general planning of the ERP systems to includedetailed planning that is production unit specific and forward this tothe automation level systems and on the other hand the task of the MESapplications is to extract production-relevant data from the automationlevel, process this and forward it to ERP level (corporate level).

Typical MES applications are for example Quality Management (QM),Maintenance Management (MM), Performance Analysis (PA), ProcessManagement, Labor Management, Asset Management. The three dots in eachinstance in FIG. 1 show that there may be further elements(applications, systems, etc.) at a level.

MES systems or ERP systems generally contain what is known as a runtimesystem for temporal process control of the components involved(subcomponents, modules, tasks, operating system processes, etc.) andwhat is known as an engineering system to produce and edit programs,which are provided for execution in the runtime system.

The representation according to FIG. 2 shows an exemplary overview withsoftware and hardware units for MES solutions. The individual MESapplications A1 to A3 are connected via adapters AD1 to AD3 to aframework program IF. A user workplace PIW1 is linked via abi-directional information path 11 to the framework program IF and canthereby manage and monitor the appended or integrated MES applications.The user workplace PIW1 generally comprises a display device (monitor,display, etc.), a data processing unit (e.g. PC) with processor andstorage devices and input units (keyboard, mouse, etc.). The MESapplications A1 to A3 and the framework program IF can run on their ownspecific data processing units or processors but it is also possible forthem to run on the data processing unit of the PIW1.

The respective MES applications A1 to A3 are connected to the frameworkprogram IF via adapters AD1 to AD3. The adapters are therefore the linkmodules between the framework program IF and the applications.Applications that are heterogeneous per se can be connected together viathe adapters and integration with the framework program IF means that itis possible to communicate between the applications and to operate anexchange of data. The adapters are software modules, which provideconnections to different applications. In typical integration scenariosthis means integration into systems from the MES, ERP, SCADA or controlsworlds. An adapter offers the functionality to start, control, etc. acomponent to be linked. An adapter allows access to data and functionsof the application to linked, provides specific runtime data and allowsthe loading of engineering information from the application to belinked. Adapters can differ in respect of structure and scope. Adapterscan therefore be programmed in a fixed manner or they can be configuredor modeled. They can also differ with regard to the possibilities foraccessing the application to be linked. Adapters may therefore onlypermit access for data-related purposes but it is also possible foradapters to allow access to higher-order business processes. Duringstart-up the adapters are loaded with the stored models and statusinformation. In runtime it is verified whether and how the differentintegrated applications match up. A visualization or monitoringcomponent can be used to request the status of an adapter and display it(even graphically) at the user workplace PIW1. Adapters allow the systemand the user to have a standardized and uniform view of applications(depending on the abstraction level at the adapters).

A further option for integrating software components is to deploywrappers. A wrapper maps the API (Application Programmable Interface) ofan external component (e.g. a MES application) onto the object model ofthe framework program. In this way a method of the framework program isobtained from a method of the API of the external component or aninteger data type of the framework program is obtained from an integerdata type of the API of the external component.

As well as MES applications, applications from corporate level(Enterprise Resource Planning level) and from automation level (controlslevel) can also be integrated via the framework program IF and monitoredand managed via the workplace PIW1 (the acronym PIW stands forPersonalized Industrial Workplace). The framework program IF therebycreates an integration platform for the entire industrial area.Different applications from corporate level, MES level and automationlevel can be integrated simply and economically by the framework programIF using adapters and/or wrappers. The framework program IF shouldtherefore be seen as a middleware platform and a ManufacturingApplication Integration tool. A user (e.g. the unit operator) can seethe respective statuses of the applications to be monitored via theworkplace PIW1 and can access data and application methods and can alsoconnect applications by means of said access.

The framework program IF thereby on the one hand allows verticalintegration of applications from different company levels to be achievedand on the other hand the framework program IF allows the horizontalintegration of MES level applications.

The workplace PIW1 represents “one window to the world” for users at thefront end of MES applications or other applications from the company. Inother words the workplace allows integrative access to different, evenheterogeneous applications within the company via a shared standardsurface. The user of the workplace PIW1 can therefore monitor and manageall integrated MES or other applications from this one workplace. Thisworkplace can be connected to the applications via the internet, theintranet, LAN (Local Area Network) or other possible connections. It isalso possible to configure said workplace as a mobile station, e.g. as amobile terminal (PDA, mobile phone). Such mobility can offer the userfurther advantages.

The representation according to FIG. 3 shows the central position of theframework program linking the software applications. In order to set upthe inventive system or method, it is recommended that a client-serverarchitecture should be selected. The framework program (IF; FIG. 2) canthereby be set up on a single server or on a plurality of any servers,which can be distributed in an IT environment. FIG. 3 shows theframework program (IF; FIG. 2) on a server IFS (Industrial FrameworkServer). The clients are appended to this central server IFS, connectedby the bi-directional information paths 12-18. The clients include onthe one hand the applications from ERP, MES and automation levels. FIG.3 shows these applications at the bottom edge of the image. Theseapplications are connected to the framework program (IF; FIG. 2) andtherefore the server IFS via the adapters AD4-AD6. The connectionbetween the adapters AD4-AD 6 and the applications is effected via APIinterfaces API1-API3 (API stands for Application ProgrammableInterface). An application programmable interface represents aninterface with a quantity of commands. APIs are also used whenconverting parameter lists from one format to another format and wheninterpreting arguments in one or both directions. APIs as it wererepresent the glue between the applications and adapters. The connectionbetween the adapters AD4-AD6 and the framework program (IF; FIG. 2)(shown in FIG. 3 by the bi-directional information paths 13-Is) iseffected via appropriate data formats (e.g. XML), appropriate protocols(XOP, OPC, etc.) and appropriate transport mechanisms (e.g. DCOM orMSMQ). HTTP (Hyper Text Transfer Protocol) can also be used here. Alsothe protocol SOAP (Simple Object Access Protocol) based on XML(extensible Markup Language) can be used for integration of the adaptersAD4-AD6 into the framework program (IF; FIG. 2) or the associated serverIFS. Clients or applications, which support ActiveX documents or calls,can be particularly advantageously integrated into the framework program(IF; FIG. 2) or the server IFS. Applications can be linked to theframework program by wrappers or other integration mechanisms, as wellas adapters.

The repository IFR (Industrial Framework Repository) can be connected tothe server IFS as a further client. FIG. 3 shows the connection by meansof the bi-directional information path 12. The repository IFR is used tohold data in a secure and persistent manner. This data can be accessedvia method calls. Objects, methods and runtime data for example arestored in the repository.

Further clients of the server IFS are shown in the top half of theimage. The Personalized Industrial Workplace PIW2 and any engineeringenvironment EU are clients of the server IFS. The PersonalizedIndustrial Workplace PIW2 is connected by means of the bi-directionalinformation path 16 to the framework program (IF; FIG. 2) or the server,the engineering environment EU is connected correspondingly by means ofthe bi-directional information path 17. The three dots indicate thatfurther clients can be appended to the server IFS. FIG. 3 shows that afurther client C is appended to the server IFS as well, connected by theinformation path 18.

The clients IFR, PIW2, EU, C are connected correspondingly via APIs orvia standard data formats (e.g. XML), standard protocols (XOP, OPC,etc.) and standard transport mechanisms (e.g. DCOM, HTTP or MSMQ).

The deployed adapters AD4-AD6 allow access to data and also to methodsof the individual applications, which connect them to the frameworkprogram (IF; FIG. 2). These adapters are very flexible and not tied toindividual specific protocols or specific transport mechanisms. If theadapters are deployed in a runtime environment, they are configured sothat it is ensured that specific necessary data from an application isavailable at the correct time in the server environment. As alreadystated, this can take place via different protocols and transportmechanisms. In a runtime environment there can be a plurality ofadapters, which can also possess minor server characteristics (such asfor example the execution of workflows, the provision of differentcommunication options, etc.). These adapters can run on the respectiveapplication computers. They do not however have to run on one machineonly but can also be distributed.

Software applications, in particular MES (Manufacturing ExecutionSystems) applications are often present in a heterogeneous form, e.g.they can have different data formats or object models or they are set upin different programming languages. The inventive system or methodallows such heterogeneous applications to be integrated using aframework program. Communication between these applications takes placeon the basis of communication means such as for example HTTP, DCOM,MSMQ, etc. Communication, i.e. the exchange of data between theapplications, is however independent of said communication means, i.e.the applications can abstract from the application means.

The representation according to FIG. 4 shows the principles of thestructure of an adapter. Each adapter is a specific component (thecomponent as a meta-object model is explained in more detail in FIG. 11)with the particular characteristic that the component of an adapter ineach instance operates in its own specific process. Each adapter has aspecific default structure, which is shown as a tree structure ofobjects of the framework program, i.e. components and variables, andwhich provides specific points, at which the adapter can output specificinformation. Examples of this are status information about the status ofthe adapter (is the adapter connected to its application, is theapplication running, version information, etc.). An adapter can alsooutput information about the external system, i.e. the externalapplication. An adapter can use the object space to output structures,which other adapters or other applications can access. An adapter canalso output information relating to a communication infrastructure. Theterm communication infrastructure refers to objects for sendingmessages, receiving messages and transforming messages. It also refersto mechanisms for routing and mechanisms for logging the adapter's dataexchange. The communication infrastructure of an adapter also includeswhat are known as in-ports and out-ports, which physically receive orsend messages. An adapter exists as a specific process of the operatingsystem, i.e. if one adapter crashes, it has no impact on other adapters.An adapter is therefore a specific, closed application, which can beexecuted alone.

Adapters and wrappers are mechanisms for integrating software componentsinto a software system. A wrapper maps the API (Application ProgrammableInterface) of an external component or an application to be integratedonto the object model of the software system, in this case the frameworkprogram (IF; FIG. 2). This means that a method of the framework programis obtained for example from a method of the API of the application tobe integrated or an integer data type of the framework program isobtained from an integer data type of the API of the application to beintegrated, etc. A wrapper thereby converts the API of the applicationto be integrated to the language, the nomenclature and object world ofthe framework program.

An adapter on the other hand is one abstraction stage higher than awrapper. Adapters provide a standardized view of applications to beintegrated and the framework program, into which the application to beintegrated is mounted, can abstract from said application. An adapterprovides functionality to start, control and process the system to beintegrated, i.e. the application to be integrated. A user can forexample use the adapter to utilize a SAP application without being a SAPexpert. IDOC adapters are used to map SAP applications onto the objetmodel of the framework program and said applications then become objectsof the framework program (component IDOC).

The inventive system and method allow two applications (e.g. MESapplications) to be combined peer-to-peer, without such a connectionhaving to be programmed peer-to-peer in each instance. These connectionsare projected according to the invention by establishing a connection(see FIG. 13).

Trace boxes (TB; FIG. 6) and error boxes (EB; FIG. 6) can already beavailable in the default structure of the adapters as mechanisms forcollecting information relating to the adapter.

The representation according to FIG. 5 shows a plurality of switchedadapters AD7 to AD10. The adapters are shown as rectangles, theswitching connection is shown by connecting lines. Softwareapplications, e.g. MES applications, are integrated together by means ofadapters. If there is no linking software system (e.g. a framework),into which each adapter is integrated, the complexity and cost ofintegrating the adapters increase very significantly.

The representation according to FIG. 6 shows a functional representationof the principles of the invention. Software applications A4 to A6 areconnected to the linking software system SS or integrated into thesoftware system SS by means of the adapters AD11 to AD13 respectively.The inventive object allows the tracing and evaluation of communicationin the software system SS and the applications A4 to A6 integrated inthe software system at different levels.

On the one hand the tracing and evaluation of communication take placeat port level. The logical connection point between an adapter and aconnection (see FIG. 12 and FIG. 13) is what is known as a port. A portis the point, at which information or messages enter an adapter or leavean adapter.

The second stage of tracing and evaluation of communication takes placeat adapter level. A plurality of ports and connection can be appended toone adapter.

The third stage of tracing and evaluation of communication takes placeproject-wide. A project, e.g. a MES project, contains a plurality ofapplications or MES applications. During tracing and evaluation ofcommunication at project level the entire exchange of messages of allapplications involved in the project is traced.

There are trace boxes TB and error boxes EB at each of these levels. Atrace box TB is used to collect ongoing messages, while an error box EBis used to collect messages, which could not be delivered or in whicherrors occurred as they were being forwarded.

These messages reach the trace box TP or error box EB via theinformation paths 19 or 110. The messages collected by the trace box TPor error box EB are stored in the repository DB via the informationpaths Ill or 112. A user can access the information stored in therepository BD in a dedicated manner via the definition of filterconditions. Possible filter conditions are for example where a user onlywishes to see messages from defined senders or defined recipients. It ishowever also possible only to have the messages from a defined timeperiod displayed. This applies to messages from the trace box TP and theerror box EB.

The data from the repository DB can however also be used for evaluationand diagnosis purposes. FIG. 6 shows that an evaluation device AE issupplied with data via the information path 113. Evaluations,statistics, data compressions and also reports can now be produced viathis evaluation device AE. Such reports are in particular useful for themandatory records for the authorities or departments, as it can beproven that only specific information has flowed and if the system orunit malfunctions, internal blame can demonstrably be excluded. This isof particular interest in the pharmaceutical field (FDA documentationlists). The evaluations can however also be used for example to identifybottlenecks and implement specific optimization measures. These findingscan be input from the evaluation unit AE directly back into the softwaresystem SS. In FIG. 6 this is shown by the information path 114. Theinventive system or method can therefore also be seen in the widestsense as a field-regulating control loop.

The representation according to FIG. 7 shows a diagram of the entitiesof a project, e.g. a MES project. The tracing and evaluation of thecommunication of applications, in particular MES applications, can becarried out at project level, adapter level or at port level. There istherefore a project trace box and error box respectively, there is anadapter trace box and error box respectively for each adapter and thereis also a port trace box and error box respectively for each port. Thetrace boxes are used to collect ongoing messages, while the error boxesare used to collect messages which could not be delivered or in whicherrors occurred when they were being forwarded. A plurality ofapplications can be used for a project. Each application is generallyintegrated into the project via an adapter. Each adapter has its ownadapter trace box or its own adapter error box. Each port also has itsown port trace box or its own port error box. The task of a port is toact as an interceptor. A port is part of an underlying communicationsystem and not part of an adapter or the adapted application.

A port can have a plurality of connections (see FIG. 12 and FIG. 13) andan adapter can have a plurality of ports. A port is the point, at whichthe data concerning the connection logically enters or leaves anadapter.

Ports are appended for example to variables, which they provide withinformation or values. In FIG. 7 the port shown is appended to theproduction order variable. This production order variable belongs to theadapter 1. The trace boxes and error boxes for adapters can already bepresent in the default structure of an adapter.

In FIG. 7 the broken 4 ends of the vertical lines show that a project,an adapter or a port can also contain further objects or elements inaddition to the objects shown.

The representation according to FIG. 8 shows a sequence chart forinitialization of tracing and evaluation mode.

The representation according to FIG. 9 shows a sequence chart for theoperation of tracing mode.

The representation according to FIG. 10 shows a sequence chart for theoperation of evaluation mode.

The representation according to FIG. 11 shows the object structure of acomponent as a meta-object model of the framework program (IF; FIG. 2)in UML (Unified Modeling Language). With the inventive system andmethod, the software applications to be integrated and the underlyingcommunication means (e.g. HTTP, MSMQ, etc.) are mapped onto an objectmodel of the framework program (IF; FIG. 2). As a result applicationsthat are heterogeneous per se have a shared object model. This meansthat all methods, data structures, objects, etc. of the externalapplications to be integrated are shown in a shared object model. Thisobject model is highly generic and represents a meta-object model. Thecore of this object model comprises an object type known as a component.A component can in turn aggregate other components and/or containspecific types of component, known as variables, to which defined valuesare assigned in operation. Components and variables respectively canalso have additional attributes.

This object model forms the basis for the adaptation of MES applicationsor other applications. This means that the structures of theapplications are converted into or mapped onto structures of said objectmodel. All the applications to be integrated are represented within theframework program (IF, FIG. 2) in the representation of said objectmodel. The underlying communication means are also mapped onto thisgeneric object model. All applications and all underlying communicationmeans are now represented in a standard and homogenous object model inthe framework program (IF; FIG. 2). This means that communicationrelations can be set up very simply and easily between the applications.

In the representation according to FIG. 11 the generic component, whichrepresents the core of the object model, is displayed in UML notation.

The rectangular boxes represent parts of the object model. Anaggregation (partly from-relation) is represented by a diamond relation,while the inheritance (in-relation) is represented by a trianglerelation. The representation according to FIG. 11 therefore shows that acomponent can comprise a plurality of components and one component canbe part of another component. The diamond relation connects a componentto attributes and variables. This means that a component can containattributes and variables. Attributes are descriptive data. All theobjects of one class possess the same attributes but generally differentattribute values. An attribute value is a value assigned to an attributefrom its value range. A variable can assume values of defined data types(e.g. integer, real, etc.). As shown by the diamond relation, acomponent can contain a plurality of variables. A component can howeverbe a higher class of a variable, as shown by the triangle relation. Thismeans that a variable can be a derived component. The diamond andtriangle relations can also contain cardinalities.

Mapping mechanisms such as adapters or wrappers for example are used tomap the software applications to be integrated and the underlyingcommunication means onto this generic object structure, i.e. componentstructure of the framework program (IF; FIG. 2).

The representation according to FIG. 12 shows how a communicationrelation is set up between MES applications. As already described, theapplications and underlying communication mechanisms are mapped onto astandard component structure (meta-object model of the frameworkprogram).

FIG. 12 shows how a communication connection is set up between the MESapplications MES′ and MES″. Adapters or wrappers are used to map theseMES applications MES′ and MES″ onto the component structure of theframework program (IF; FIG. 2). The underlying communication means(HTTP, MSMQ, DCOM, etc.) are also mapped via adapters or wrappers ontothe generic object model of a component structure. These communicationsmeans are then represented by a component transport system (TS) in theframework program (IF; FIG. 2). This component transport system (TS)abstracts from the underlying communication means. When setting up acommunication connection it does not matter which communication meansultimately form the physical basis. The communication means aretherefore essentially interchangeable.

The communication relation between the MES applications MES′ and MES″ isestablished by means of what is known as a connection (see FIG. 13). Aconnection connects any two objects of the object model. As theconnection relates to objects of the generic object model, it knowstheir semantics and knows which particular features have to beestablished during connection, i.e. method objects have to be manageddifferently from pure data objects for example. The connection is alsobased on a transport system. The transport system is also present aspart of the generic object model of the framework program (IF; FIG. 2).A connection can be unidirectional or bi-directional.

The representation according to FIG. 13 shows the object structure of aconnection in UML notation. A connection is a generic object thatessentially comprises two parts.

On the one hand from the wrappers of the specific communication meansand on the other hand from a collection of properties, which can beadjusted via said communication means. These properties and theconnection itself are in turn components of the object model, wherebythe properties are simply defined by a list of variables. A transportwrapper in turn also contains properties. Where MSMQ is used as thecommunication means, the name of the message queue used for example issuch a property. The cardinality (1:2) shows that the connection fromFIG. 13 contains at least one but maximum two transport wrappers. Theother aggregation relations (diamond symbol), as shown in FIG. 13, canalso contain cardinalities. A transport wrapper can also containmethods. For example a method for opening a specific transport channel,a method for closing a specific transport channel, a method for sendinga string, a method for receiving a string, etc.

Communication means are generally mapped by means of wrappers onto theobject model of the framework program but in principle it is alsopossible to integrate communication means in the framework program bymeans of adapters.

To summarize the invention relates to a system and a method for tracingand evaluating the communication of software applications, in particularMES applications in an entire system. It allows progressive orstep-by-step tracing and evaluation: at project level, adapter level andport level, i.e. individual communication connections, individualapplications and even the entire project is traced by (evenheterogeneous) application environments. The tracing and evaluationmechanisms enable higher-level services to access the archived trace anderror data online at all times. An example of one such service is thegeneration of a report in the pharmaceutical field, indicating thematerials used and sent in production orders. Online access can beeffected by means of data connections (e.g. via a Local Area Network) orvia internet-type means.

The inventive system or method described above can be implemented as acomputer program in languages known for this purpose. Such animplemented computer program can be stored and transported in asimilarly known manner via electronic data paths or even on data media(computer program products).

1-17. (cancelled)
 18. A system for tracing and/or evaluating theexchange of information between software applications, comprising: asoftware system linking the software applications; at least one computerunit for storing the software applications and the software system; alink mechanism for connecting the software applications to the softwaresystem; a first device for tracing the exchange of information betweenthe software applications; a second device for tracing errors occurringin the exchange of information; a third device for storing the exchangeof information and the errors; and a fourth device for analyzing theexchange of information and/or the errors.
 19. A system according toclaim 18, wherein the software applications are heterogeneous.
 20. Asystem according to claim 18, wherein the software applications are MESapplications.
 21. A system according to claim 18, wherein the results ofthe analysis of the exchange of information and/or the error analysis isfurther processed directly by the software system.
 22. A systemaccording to claim 18, wherein specific information and/or errors areselected by a filter.
 23. A system according to claim 18, whereintracing and/or evaluation takes place at project level or at adapterlevel or at the level of an information channel.
 24. A system accordingto claim 18, wherein a adapter and/or a wrapper are deployed as the linkmechanism.
 25. A system according to claim 18, wherein the first andsecond devices are realized by one device or the first, second andfourth devices are realized by one device, or the first and fourthdevices are realized by one device or the second and fourth devices arerealized by one device.
 26. A system according to claim 18, wherein thethird device is integrated into one of the other devices.
 27. A methodfor tracing and/or evaluating the exchange of information betweensoftware applications, comprising: linking the software applications ina software system, wherein the software applications and the softwaresystem are stored on at least one computer unit; connecting the softwareapplications to the software system by a link mechanism; tracing theexchange of information between the software applications by a firstdevice; tracing errors occurring in the exchange of information by asecond device; storing the exchange of information and the errors by athird device; and analyzing the exchange of information and/or theerrors by a fourth device.
 28. A method according to claim 27, whereinthe software applications are heterogeneous.
 29. A method according toclaim 27, wherein the software applications are MES applications.
 30. Amethod according to claim 27, wherein the results of the analysis of theexchange of information and/or the error analysis are further processeddirectly by the software system.
 31. A method according to claim 27,wherein specific information and/or errors are selected by a filter. 32.A method according to claim 27, wherein tracing and/or evaluation takesplace at project level or at adapter level or at the level of aninformation channel.
 33. A method according to claim 27, wherein aadapter and/or wrapper are deployed as the link mechanism.
 34. A methodaccording to claim 27, wherein the first and second devices are realizedby one device or the first, second and fourth devices are realized byone device, or the first and fourth devices are realized by one deviceor the second and fourth devices are realized by one device.
 35. Amethod according to claim 27, wherein the third device is integratedinto one of the other devices.
 36. A method according to claim 27,wherein the method is implemented by a computer program.
 37. A datamedium, which comprises a computer program to implement a method fortracing and/or evaluating the exchange of information between softwareapplications, the method comprising: linking the software applicationsin a software system, wherein the software applications and the softwaresystem are stored on at least one computer unit; connecting the softwareapplications to the software system by a link mechanism; tracing theexchange of information between the software applications by a firstdevice; tracing errors occurring in the exchange of information by asecond device; storing the exchange of information and the errors by athird device; and analyzing the exchange of information and/or theerrors by a fourth device.
 38. A data processing device, which comprisesa computer program to implement a method for tracing and/or evaluatingthe exchange of information between software applications, the methodcomprising: linking the software applications in a software system,wherein the software applications and the software system are stored onat least one computer unit; connecting the software applications to thesoftware system by a link mechanism; tracing the exchange of informationbetween the software applications by a first device; tracing errorsoccurring in the exchange of information by a second device; storing theexchange of information and the errors by a third device; and analyzingthe exchange of information and/or the errors by a fourth device.